3 Created on Fri Jun 25 09:37:44 2021
5 @author: Johanna Delachambre
7 This demo recreate the MNRead Carboard, by displaying 3 sentences at 3 different sizes.
27 import PTVR.Data.Input
as input
29 import PTVR.mnread_phrase_cutting
as mnread
30 import PTVR.VisualAngleCalculation
as VAcalcul
31 import Parameters.cardboard_mnread_parameters
as parameters
36 heightOfStaticPOV_m = 0
40 """Displays 3 phrases like in the board version of MNRead """
43 position_current_CS=np.array([0, heightOfStaticPOV_m, 0]))
44 my_world.set_coordinate_system_from_a_virtual_point(POVatCalibration)
49 color=parameters.tangent_screen_color, size_in_meters=np.array([parameters.tangent_screen_width, parameters.tangent_screen_height]))
50 tangent_screen.SetTangentRotation()
51 tangent_screen.set_perimetric_coordinates(eccentricity=0.0, halfMeridian=0.0,
52 radialDistance=parameters.viewing_distance_in_m)
53 t1.place(tangent_screen)
56 current_visual_angle_of_centered_object = parameters.visual_angle_of_centered_object
58 y_text_position_current_CS = (VAcalcul.visual_angle_to_size_on_tangent_screen(
59 current_visual_angle_of_centered_object, parameters.viewing_distance_in_m) * 10)
61 for i
in range(len(parameters.phrases_to_display)):
64 list_cutted_phrases_from_mnread_phrase_cutting = mnread.mnread_phrase_cutting(
65 parameters.phrases_to_display[i])
66 phrase_with_back_to_line = list_cutted_phrases_from_mnread_phrase_cutting[0] +
"\n" + \
67 list_cutted_phrases_from_mnread_phrase_cutting[1] + \
68 "\n" + list_cutted_phrases_from_mnread_phrase_cutting[2]
70 text =
PTVR.Stimuli.Objects.Text(text=phrase_with_back_to_line, horizontal_alignment=parameters.text_alignment, font_name=parameters.font_to_use, color=parameters.text_color, position_current_CS=(
71 0, y_text_position, parameters.viewing_distance_in_m), visual_angle_of_centered_x_height_deg=current_visual_angle_of_centered_object)
72 text.SetMnreadFormat()
74 tangent_screen.place_object_on_tangent_screen(text)
77 visual_angle_of_centered_object_in_logmar = VAcalcul.visual_angle_in_degrees_to_logmar(
78 current_visual_angle_of_centered_object)
79 current_visual_angle_of_centered_object = VAcalcul.logmar_to_visual_angle_in_degrees(
80 visual_angle_of_centered_object_in_logmar - parameters.decreasing_size)
81 y_text_position -= VAcalcul.visual_angle_to_size_on_tangent_screen(
82 current_visual_angle_of_centered_object, parameters.viewing_distance_in_m)*10
85 my_world.add_scene(t1)
91 my_world = visual.The3DWorld()
97 print(
"The experiment has been written.")
100 if __name__ ==
"__main__":
def LaunchThe3DWorld(jsonFileCategory="Externals")
def cardboard_mnread(exp)